//
//  CLTabBar.swift
//  SinaCaoliang
//
//  Created by 曹亮 on 16/10/22.
//  Copyright © 2016年 曹亮. All rights reserved.
//

import UIKit

class CLTabBar: UITabBar {

    //几乎所有继承UIView的类 构造函数均为 init(frame)
    override init(frame: CGRect) {
        super.init(frame: frame)

        setupUI()
    }

    //required - 必须的
    // 如果你使用手写代码来创建这个类 就必须实现该方法
    //如果你定义了手写代码创建该类 但是你的同事不知道 他使用sb xib类使用你的类 那么就会走这个方法
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
        super.init(coder: aDecoder)
        setupUI()
    }

    // MARK: - 设置视图
    private func setupUI(){

        addSubview(composeButton)
    }

    
    override func layoutSubviews() {
        super.layoutSubviews()

        ///5个控件平分标签栏 所以是0.2   1/5
        let width = 0.2 * CLSCREENW
        var x:CGFloat = 0

        for obj in subviews {
            ///判断obj是否是UITabBarButton的子类
            //判断是否是原有的按钮
            if obj.isKind(of: NSClassFromString("UITabBarButton")!) {

                obj.frame.origin.x = x * width

                x += 1
                ///如果是发文按钮  就空出一个位置来
                if x == 2 {
                    x += 1
                }
            }
        }
        //设置撰写按钮的frame
        composeButton.center.x = frame.size.width * 0.5
         composeButton.center.y = frame.size.height * 0.5
    }

    // MARK: - 懒加载控件
   private lazy var composeButton: UIButton = {

    let button = UIButton(setImgName: "tabbar_compose_icon_add", backgroundImgName: "tabbar_compose_button", target: self, action: #selector(buttonClick))

    button.sizeToFit()

    return button

    }()


   // MARK: - composeButtond点击方法
   @objc func buttonClick() -> Void {

        print("按钮点击了")
    }
}
